Short-range wireless systems have a range of less than one hundred meters, but may connect to the Internet to provide communication over longer distances. Short-range wireless systems include, but are not limited to, a wireless personal area network (PAN) and a wireless local area network (LAN). A wireless PAN uses low-cost, low-power wireless devices that have a typical range of ten meters. An example of a wireless PAN technology is the Bluetooth Standard. The Bluetooth Standard operates in the 2.4 GHz Industrial, Scientific, and Medical (ISM) band and provides a peak air-link speed of one Mbps and a power consumption low enough for use in personal, portable electronics such as a personal digital assistance or mobile phone. A description of the Bluetooth communication protocol and device operation principles is in Bluetooth Special Interest Group, Specification of the Bluetooth Standard, version 1.0B, volumes 1 and 2, December 1999. A wireless LAN is more costly than a wireless PAN, but has a longer range. An example of a wireless LAN technology is the IEEE 802.11 Wireless LAN Standard and the HIPERLAN Standard. The HIPERLAN Standard operates in the 5 GHz Unlicensed-National Information Infrastructure (U-NII) band and provides a peak airlink speed between ten and one hundred Mbps.
An ad hoc network is a short-range wireless system comprising an arbitrary collection of wireless devices that are physically close enough to exchange information. An ad hoc network is constructed quickly with wireless devices joining and leaving the network as they enter and leave the proximity of the remaining wireless devices. An ad hoc network also may include one or more access points, that is, stationary wireless devices operating as a stand-alone server or as gateway connections to other networks.
In the future, the Bluetooth Standard will likely support the interconnection of multiple piconets to form a multi-hop ad hoc network, or scatternet. In a scatternet, a connecting device forwards traffic between different piconets. The connecting device may serve as a master device in one piconet, but as a slave device or a master device in another piconet. Thus, the connecting devices join the piconets that comprise a scatternet by adapting the timing and hop sequence to the respective piconet and possibly changing the roles that they serve from a master device to a slave device.
A Bluetooth device includes, but is not limited to, a mobile telephone, personal or laptop computer, radio-frequency identification tag, and personal electronic device such as a personal digital assistant (PDA), pager, or portable-computing device. Each Bluetooth device includes application and operating system programs designed to find other Bluetooth devices as they enter and leave the communication range of the network. The requesting Bluetooth device in a client role and the responding Bluetooth device in a server role establish a link between the two devices. The requesting and responding Bluetooth device use the link and a service discovery protocol to discover the services offered by the other Bluetooth device and how to connect to those services.
Prior art systems follow similar patterns of behavior for service discovery protocols. A service description, created using a description language and an appropriate vocabulary, is advertised or made available for query matching. Some prior art systems advertise the service description by pushing the description to a directory and requiring the advertisers to discover the directory. Other prior art systems advertise the service description by making the descriptions available for peer-to-peer discovery. A client device that needs to discover the service description composes a query using a query language and a matching vocabulary and uses either a query protocol or a decentralized query-processing server to deliver the query.
Service discovery protocols in the prior art systems require sending and replying to inquiry messages. If no other device is present, the inquiry messages are sent in vain. To avoid excessive power consumption, the prior art systems typically require a human user to manually initiate device detection when another device of interest is present. For example, a human user manually initiates device detection when connecting a cellular telephone to a laptop computer to handle data communications or when connecting a wireless headset to a laptop computer to deliver digital audio. These prior art systems rely upon three assumptions. First, an application can be freely started because the presence of its services is guaranteed. Second, an application performs service discovery when it first needs a service. Third, the composition of the network does not change during the lifetime of the application.
Thus, there is a need for a device detection and service discovery protocol that will avoid excessive power consumption and allow an application resident in one device to automatically find a counterpart application or some other resource resident in any of the remaining devices within the ad hoc communications network. The protocol does not require a human user to manually initiate device detection to find the counterpart application or other resource. Furthermore, the protocol will accommodate a network environment in which the presence of a particular service is not guaranteed and in which the composition of the network is dynamic because devices frequently enter and leave the network. The disclosed invention addresses this need.